Providing services and commercial transactions via a web-based distributed computing is becoming a dominant method of conducting business. A business organization may partner with other internal organizations or outside vendors to bring a service or product to a customer. In an example in which a customer is purchasing a book, the order may be placed through a composite service. The customer may access the composite service by a web-based graphical user interface (GUI) on his or her own computer, using an internet or other network connection. To the customer, several individual component services appear to work as a single, integrated (or “composite”) service with which the customer interacts.
The first component service may be a warehouse inventory service having several functions, including querying inventory, reporting when the item can be shipped, and providing an order confirmation number. A second component service may be a payment-processing vendor with a plurality of functions, including requesting a credit card number from the customer upon checkout and verifying the submitted information. Functions may be event-based messages or other business tasks carried out between the various services. The composite service may be responsible for providing the customer with a response, such as an e-mail or confirmation screen including order details.
When requesting a good or service, a customer generally expects that a response will be provided shortly after his or her order is placed. Accordingly, the composite service may issue a reply to the customer in the form of a confirmation screen or e-mail. If the reply delivery takes longer than expected, the customer may lose confidence in the business. It is therefore desirable to set and meet a goal of providing a response or action to the customer within a given time period. The expected level of performance (or reply time, in this example) is referred to as a “service level agreement” (SLA). Each individual function carried out between the component services and the composite service may have a unique associated SLA.
What is needed is a mechanism to detect component SLA conflicts to determine if a composite SLA can be met.